Skip to content

[PW_SID:1126315] [v2] iommu/riscv: Use 32-bit MMIO accesses for 64-bit registers#2266

Closed
linux-riscv-bot wants to merge 1 commit into
workflow__riscv__fixesfrom
pw1126315
Closed

[PW_SID:1126315] [v2] iommu/riscv: Use 32-bit MMIO accesses for 64-bit registers#2266
linux-riscv-bot wants to merge 1 commit into
workflow__riscv__fixesfrom
pw1126315

Conversation

@linux-riscv-bot

Copy link
Copy Markdown

PR for series 1126315 applied to workflow__riscv__fixes

Name: [v2] iommu/riscv: Use 32-bit MMIO accesses for 64-bit registers
URL: https://patchwork.kernel.org/project/linux-riscv/list/?series=1126315
Version: 2

The RISC-V IOMMU specification [1] permits 64-bit registers to be accessed
using two 32-bit transactions, high half first, and leaves the single-copy
atomicity of 8-byte IOMMU register accesses unspecified.

Use the generic hi_lo_readq_relaxed() and hi_lo_writeq_relaxed() helpers
for ordinary 64-bit IOMMU registers. Poll DDTP.BUSY in the low half before
reading the full register from high to low. HPM counter reads require a
rollover-aware sequence and remain outside these accessors.

This follows the 32-bit access direction proposed by Guo Ren [2] and uses
the generic non-atomic MMIO helpers suggested by David Laight.

[1] https://docs.riscv.org/reference/iommu/
[2] https://lore.kernel.org/r/20250903144217.837448-1-guoren@kernel.org

Suggested-by: Guo Ren <guoren@kernel.org>
Suggested-by: David Laight <david.laight.linux@gmail.com>
Signed-off-by: Zhanpeng Zhang <zhangzhanpeng.jasper@bytedance.com>
Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 1: "[v2] iommu/riscv: Use 32-bit MMIO accesses for 64-bit registers"
build-rv32-defconfig
Desc: Builds riscv32 defconfig
Duration: 142.05 seconds
Result: PASS

@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 1: "[v2] iommu/riscv: Use 32-bit MMIO accesses for 64-bit registers"
build-rv64-clang-allmodconfig
Desc: Builds riscv64 allmodconfig with Clang, and checks for errors and added warnings
Duration: 1391.04 seconds
Result: PASS

@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 1: "[v2] iommu/riscv: Use 32-bit MMIO accesses for 64-bit registers"
build-rv64-gcc-allmodconfig
Desc: Builds riscv64 allmodconfig with GCC, and checks for errors and added warnings
Duration: 1668.15 seconds
Result: PASS

@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 1: "[v2] iommu/riscv: Use 32-bit MMIO accesses for 64-bit registers"
build-rv64-nommu-k210-defconfig
Desc: Builds riscv64 defconfig with NOMMU for K210
Duration: 25.77 seconds
Result: PASS

@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 1: "[v2] iommu/riscv: Use 32-bit MMIO accesses for 64-bit registers"
build-rv64-nommu-k210-virt
Desc: Builds riscv64 defconfig with NOMMU for the virt platform
Duration: 27.06 seconds
Result: PASS

@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 1: "[v2] iommu/riscv: Use 32-bit MMIO accesses for 64-bit registers"
checkpatch
Desc: Runs checkpatch.pl on the patch
Duration: 0.94 seconds
Result: PASS

@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 1: "[v2] iommu/riscv: Use 32-bit MMIO accesses for 64-bit registers"
dtb-warn-rv64
Desc: Checks for Device Tree warnings/errors
Duration: 83.78 seconds
Result: PASS

@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 1: "[v2] iommu/riscv: Use 32-bit MMIO accesses for 64-bit registers"
header-inline
Desc: Detects static functions without inline keyword in header files
Duration: 0.25 seconds
Result: PASS

@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 1: "[v2] iommu/riscv: Use 32-bit MMIO accesses for 64-bit registers"
kdoc
Desc: Detects for kdoc errors
Duration: 0.84 seconds
Result: PASS

@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 1: "[v2] iommu/riscv: Use 32-bit MMIO accesses for 64-bit registers"
module-param
Desc: Detect module_param changes
Duration: 0.27 seconds
Result: PASS

@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 1: "[v2] iommu/riscv: Use 32-bit MMIO accesses for 64-bit registers"
verify-fixes
Desc: Verifies that the Fixes: tags exist
Duration: 0.23 seconds
Result: PASS

@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 1: "[v2] iommu/riscv: Use 32-bit MMIO accesses for 64-bit registers"
verify-signedoff
Desc: Verifies that Signed-off-by: tags are correct
Duration: 0.31 seconds
Result: PASS

@linux-riscv-bot
linux-riscv-bot deleted the pw1126315 branch July 13, 2026 13:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants